Балансировка нагрузки TCP/IP
Два и более узла, выполняющих одни и те же приложения или службы
Каждый узел выполняет отдельные копии приложений
Узлы совместно используют дополнительные IP-адреса кластера NLBS
Широкое использование для IIS
Нагрузка от запросов балансируется между членами кластера NLBS
Клиенты подключаются к IP-адресу кластера
Если узел дает сбой, клиенты перенаправляются на другой узел
Должна быть реализована возможность управления состоянием приложений
Пример: узлы A, Б, В, Г входят в состав кластера NLBS IIS
Первый запрос будет направлен к узлу А, второй узлу Б, третий - В и так далее
Работа программы «Балансировка нагрузки сети» основана на протоколе TCP/IP. Два или более узла, выполняющие одни и те же приложения или службы, например IIS. Каждый узел выполняет копии одного и того же приложения, веб-сайта или любой другой задачи, нагрузка от которой балансируется. Это общеиспользуемое решение для масштабирования и повышения доступности веб-сайтов, работающих с IIS.
Узлы в кластере используют общий IP-адрес кластера. Нагрузка от запросов, приходящих на этот IP-адрес, балансируется между членами кластера. Приложения или веб-сайты, нагрузка от которых была сбалансирована, должны быть объявлены на кластеризованном IP-адресе, на котором рассматриваются IP-адреса клиентов, после чего запрос перенаправляется. Если в кластер входят несколько узлов и один из них дает сбой, клиент просто перенаправляется к другой копии приложения или веб-сайту, выполняемым на другом узле. NBLS имеет дополнительные возможности для адресации управления состоянием в окружении веб-приложения.
Приведем пример работы кластера NLBS, состоящего из узлов А, Б, В, Г, на каждом из которых работает IIS и которые настроены для поддержки одного и того же веб-сайта. Если программа «Балансировка нагрузки сети» настраивается для таких систем, то все они становятся частью кластера NLBS и используют один общий IP-адрес кластера, присвоенный веб-сайту. Когда на данный IP-адрес поступает запрос, первый из них направляется на узел А, второй на узел Б, третий — на В и так далее. На самом деле серверы выполняют развитый алгоритм, так что у каждого узла есть информация о том, какой сервер будет обслуживать следующий запрос, без взаимодействия узлов между собой во время запроса.